package com.wyh.domain.po.g3po;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.sql.Timestamp;

@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("charging")//计费生成表
public class Charging {
    @ApiModelProperty(value = "id")
    private Integer id;//

    @ApiModelProperty("资源id")
    private int resourceid;//资源id

    @ApiModelProperty("客户id")
    private int customerid;//客户id

    @ApiModelProperty("费项id")
    private int unitpriceid;//费项id

    @ApiModelProperty(value = "计费时间",example = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Timestamp billingtime;//计费时间

    @ApiModelProperty(value = "修改时间",example = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")//         charging表
    private Timestamp updatetime;//修改时间                  charging表

    @ApiModelProperty("资源名称")
    private String resourcename;//资源名称           charging表

    @ApiModelProperty("客户名称")
    private String customername;//客户名称    收费对象          charging表

    @ApiModelProperty("建筑面积")
    private double area;//建筑面积                    charging表

    @ApiModelProperty("单价")
    private BigDecimal price;//单价

    @ApiModelProperty("计费开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")//             charging表
    private Timestamp starttime;//计费开始时间

    @ApiModelProperty(value = "计费结束时间",example = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")//          charging表
    private Timestamp endtime;//计费结束时间             charging表

    @ApiModelProperty("合同id")
    private Integer contractid;//合同id

    @ApiModelProperty("应收金额")
    private BigDecimal receivable;//应收金额           charging表

    @ApiModelProperty("楼盘名称")
    private String propertyname;//楼盘名称       charging表

    @ApiModelProperty("楼栋名称")
    private String buildingname;//楼栋名称       charging表

    @ApiModelProperty("楼层名称")
    private String floorname;//楼层名称           charging表

    @ApiModelProperty("计费项目名称")
    private String billingitemsname;//计费项目    charging表

    @ApiModelProperty("账单id")
    private Long billid;//账单id           明细id          charging表

    @ApiModelProperty("计费性质")
    private int billingnature;//计费性质，0周期性计费、1三表类计费、2一次性计费     计费性质 调用枚举类方法 自己写

    @ApiModelProperty("状态")
    private int state;//状态，0待入账、1已入账、2已退回                  当前状态  自己写

    @ApiModelProperty("备注")
    private String remarks;//备注                          charging表

    @ApiModelProperty("用量")
    private double dosage;//用量                       charging表

    @ApiModelProperty("修改人")
    private int userid;//修改人                         连表查

    @ApiModelProperty("退回原因")
    private String reason;//退回原因                  charging表

}
